import json
import os


def read_result_from_txt(file_path='./result.json'):
    """
    读取包含股票代码的JSON文件并转换为列表

    参数:
        file_path (str): JSON文件的路径

    返回:
        list: 包含所有股票代码的列表
    """
    try:
        with open(file_path, 'r', encoding='utf-8') as file:
            data = json.load(file)
            if isinstance(data, list):
                return data
            else:
                raise ValueError("JSON文件内容不是列表格式")
    except FileNotFoundError:
        raise FileNotFoundError(f"文件 {file_path} 未找到")
    except json.JSONDecodeError:
        raise ValueError("文件内容不是有效的JSON格式")
    except Exception as e:
        raise Exception(f"读取文件时发生错误: {str(e)}")


def write_result_to_txt(result:list):
    #判断result.txt文件是否存在，如果不存在则创建
    with open('./result.json', 'w') as f:
        json.dump(result, f, indent=4)  # 格式化输出


def get_the_same_with_yesterday(result:list):
    yesterday_result = read_result_from_txt()
    # 寻找yesterday_result和result中相同的元素
    same_elements = filter(lambda x: x in result, yesterday_result)
    #write result to result.txt
    write_result_to_txt(result)
    return list(same_elements)